# 1/2 create b
git branch page_col #create a new branch named "page_col"
# 2/2 then switch to b
git checkout page_col
# or 1+2/2 CREATE + SWITCH BRANCHES
git checkout -b page_col 1) Git introduction
Web page construction in progress…
Frist: some useful terminal commands
-
[shift+Q]–> to exit from git dialogue -
highlight + [cmd + D]–> to seleect all subsequent instances -
highlight + [alt + drag]–> to edit at begin of each lines -
highlight + [cmd + shift + L]–> to edit at the end of each lines -
highlight + [ctr + shift + W]–> wrapping text with start and end tag
Git installation
…
Git architecture
…
-
origin= origin stands for the remote repository. When we usegit push -u origin local_branch_name, it tells the system that we want to push our local branch to the remote repository. Usually there is one default remote repository and origin represents this default repository.- If you don’t like this name, you can rename it by using
git remote rename origin new_name
- If you don’t like this name, you can rename it by using
HEAD= the last commit of the active/current branch. Each repository only has one current branch, hence one HEAD as well. If you want to check where the HEAD of a repository is pointing to, runcat .git/HEADDetached HEADhappens when a checkout command is applied to a specific historical commit, tag or remote branch.mastermaster is a branch, the default branch, the main branch, and it’s always there.branchbranch is a like a fork in the history of a repository. One branch represents an independent line of development, like a fork teeth.indexindex is the proposed next commit, also called staging area.
Git commands
See Figure 1
-
git status= View the state of working directory and staging area -
git add= Stage changes for next commit -
git commit= Commit the staged snapshot to the local repository
-
git push= Upload local repository content to a remote repository- 4 TEAM: it makes your local changes publicly available in a remote repository.
- 4 TEAM: it makes your local changes publicly available in a remote repository.
-
git clone= Copies an entire remote repository down to your local machine, setting up a cloned version and checks out the default branch (generally master)- this action is done only once.
-
git fetch= Download content from remote repository, but doesn’t force the merge- 4 TEAM: if a developer has pushed changes to a remote branch, those changes will be pulled down to your repository whenever fetch is performed.
- Note: fetch won’t automatically merge any changes, only update references!
- 4 TEAM: if a developer has pushed changes to a remote branch, those changes will be pulled down to your repository whenever fetch is performed.
-
git merge= Join two branches together -
git pull= Combo of git fetch and git merge
Source: cloudstudio.com.au
Difference b/w git fetch & git pull
Difference b/w git merge & git rebase
https://blog.git-init.com/differences-between-git-merge-and-rebase-and-why-you-should-care/
References
-
The Pragmatic Git blogsite
Branches
Create & checkout a branch
Now I see
Make changes in branch
I add a page to the site
Collaboration
I create a test GH account lula-test (associated to l__a__a@icloud.com)
I clone in
/Users/testuser/GH_test/nerd_helpthis repository “nerd-help” I own as Lulliter and (from there (I indicated that lula-test is a collaborator)
# positioned in parent folder /Users/testuser/GH_test/
git clone https://github.com/Lulliter/nerd_help.git
cd nerd_helpRules
- THE MASTER BRANCH SHOULD ALWAYS BE DEPLOYABLE
you create new branches for new features and merge them into Master when they’re completed.
It’s also important when collaborating that your team picks features that don’t have overlapping code.
- Here I create a new branch colors_page and I go there
# I create a new branch to add a color.qmd page and switch there
git checkout -b colors_page
# verify this with the command:
git branch- “checkout” is used to switch between branches. Adding the “-b” and a name at the end creates a new branch and then moves into that new branch for us.
In the branch, the collabrorator
- makes some changes …
- add + commit + push
3.b Wait
Even if I am in the collaborator GH, lookg like the remote is considered the owner GH
git remote -v
# origin https://github.com/Lulliter/nerd_help.git (fetch)
# origin https://github.com/Lulliter/nerd_help.git (push)so I must change te origin in the collaborator GH
git remote set-url origin https://github.com/lula-test/nerd_help.gitREFERENCE
https://medium.com/@jonathanmines/the-ultimate-github-collaboration-guide-df816e98fb67